<?php declare(strict_types=1);


namespace App\Model\Entity;

use Swoft\Db\Annotation\Mapping\Column;
use Swoft\Db\Annotation\Mapping\Entity;
use Swoft\Db\Annotation\Mapping\Id;
use Swoft\Db\Eloquent\Model;


/**
 * 用户发布内容扩展信息表
 * Class PostExtends
 *
 * @since 2.0
 *
 * @Entity(table="post_extends", pool="db2.pool")
 */
class PostExtends extends Model
{
    /**
     * 发布内容ID
     * @Id(incrementing=false)
     * @Column(name="post_id", prop="postId")
     *
     * @var int
     */
    private $postId;

    /**
     * 收藏数
     *
     * @Column(name="collect_num", prop="collectNum")
     *
     * @var int
     */
    private $collectNum;

    /**
     * 评论数
     *
     * @Column(name="comments_num", prop="commentsNum")
     *
     * @var int
     */
    private $commentsNum;

    /**
     * 欣赏数
     *
     * @Column(name="praise_num", prop="praiseNum")
     *
     * @var int
     */
    private $praiseNum;

    /**
     * 分享数
     *
     * @Column(name="share_num", prop="shareNum")
     *
     * @var int
     */
    private $shareNum;

    /**
     * 点击数
     *
     * @Column(name="click_num", prop="clickNum")
     *
     * @var int
     */
    private $clickNum;

    /**
     * 回答数
     *
     * @Column(name="answer_num", prop="answerNum")
     *
     * @var int
     */
    private $answerNum;

    /**
     * 是否原创 1:是 0:否
     *
     * @Column()
     *
     * @var int
     */
    private $original;

    /**
     * 转发源post_id
     *
     * @Column(name="original_id", prop="originalId")
     *
     * @var int
     */
    private $originalId;

    /**
     * 是否置顶 1:是 0:否
     *
     * @Column(name="is_top", prop="isTop")
     *
     * @var int|null
     */
    private $isTop;

    /**
     * 阅读数
     *
     * @Column(name="read_num", prop="readNum")
     *
     * @var int
     */
    private $readNum;


    /**
     * @param int $postId
     *
     * @return void
     */
    public function setPostId(int $postId): void
    {
        $this->postId = $postId;
    }

    /**
     * @param int $collectNum
     *
     * @return void
     */
    public function setCollectNum(int $collectNum): void
    {
        $this->collectNum = $collectNum;
    }

    /**
     * @param int $commentsNum
     *
     * @return void
     */
    public function setCommentsNum(int $commentsNum): void
    {
        $this->commentsNum = $commentsNum;
    }

    /**
     * @param int $praiseNum
     *
     * @return void
     */
    public function setPraiseNum(int $praiseNum): void
    {
        $this->praiseNum = $praiseNum;
    }

    /**
     * @param int $shareNum
     *
     * @return void
     */
    public function setShareNum(int $shareNum): void
    {
        $this->shareNum = $shareNum;
    }

    /**
     * @param int $clickNum
     *
     * @return void
     */
    public function setClickNum(int $clickNum): void
    {
        $this->clickNum = $clickNum;
    }

    /**
     * @param int $answerNum
     *
     * @return void
     */
    public function setAnswerNum(int $answerNum): void
    {
        $this->answerNum = $answerNum;
    }

    /**
     * @param int $original
     *
     * @return void
     */
    public function setOriginal(int $original): void
    {
        $this->original = $original;
    }

    /**
     * @param int $originalId
     *
     * @return void
     */
    public function setOriginalId(int $originalId): void
    {
        $this->originalId = $originalId;
    }

    /**
     * @param int|null $isTop
     *
     * @return void
     */
    public function setIsTop(?int $isTop): void
    {
        $this->isTop = $isTop;
    }

    /**
     * @param int $readNum
     *
     * @return void
     */
    public function setReadNum(int $readNum): void
    {
        $this->readNum = $readNum;
    }

    /**
     * @return int
     */
    public function getPostId(): ?int
    {
        return $this->postId;
    }

    /**
     * @return int
     */
    public function getCollectNum(): ?int
    {
        return $this->collectNum;
    }

    /**
     * @return int
     */
    public function getCommentsNum(): ?int
    {
        return $this->commentsNum;
    }

    /**
     * @return int
     */
    public function getPraiseNum(): ?int
    {
        return $this->praiseNum;
    }

    /**
     * @return int
     */
    public function getShareNum(): ?int
    {
        return $this->shareNum;
    }

    /**
     * @return int
     */
    public function getClickNum(): ?int
    {
        return $this->clickNum;
    }

    /**
     * @return int
     */
    public function getAnswerNum(): ?int
    {
        return $this->answerNum;
    }

    /**
     * @return int
     */
    public function getOriginal(): ?int
    {
        return $this->original;
    }

    /**
     * @return int
     */
    public function getOriginalId(): ?int
    {
        return $this->originalId;
    }

    /**
     * @return int|null
     */
    public function getIsTop(): ?int
    {
        return $this->isTop;
    }

    /**
     * @return int
     */
    public function getReadNum(): ?int
    {
        return $this->readNum;
    }

}
